perm filename ALPHA.FAI[P11,LCS] blob
sn#539630 filedate 1981-03-08 generic text, type T, neo UTF8
TITLE ALPHA
ENTRY ALPHA
INTERNAL NFONT
EXTERNAL .COMM.,STF,POSI,PLTR,FONT,SPACER,PNUM,ROFF
EXTERNAL ITMSUB,RHORZ,CLEFS,KSIG,LINES,ALF,OLDTOP,NOTWRT
DEFINE JTR<.COMM.+=20> ↔ DEFINE RB<.COMM.+=43> ↔DEFINE RW<.COMM.+=42>
DEFINE RX<.COMM.+=40> ↔DEFINE RY<.COMM.+=39> ↔ DEFINE R<.COMM.+=23>
DEFINE RF<.COMM.+=18> ↔ DEFINE JR3<.COMM.+=27>↔ DEFINE IFNT<.COMM.+=36>
DEFINE RZ<.COMM.+=41>↔ DEFINE JX<.COMM.+=34> ↔ DEFINE R8<.COMM.+=9>
DEFINE J8<.COMM.+=29>
;************************ NEW BLANK SIZE *******************
; NEW SIZE=.70, OLD SIZE=1.0 CHANGE 'BLANK' IN DDT IF NEEDED.
FILL: 0
NFONT: ASCII/BDR40/ ;WILL BE CURRENT FONT NAME
FNAME: ASCII/PRIM0/ ;POSSIBLE FONT NAMES - FOR NOW.
ASCII/BDR40/
ASCII/BDI40/
ASCII/BDL40/ ;BDR LIGHT-FACE
ALPHA: 0
MOVE .COMM.+1 ;JA
CAIN 7
JRST AL20 ;JA=7 IS FOR TRILLS, ETC.
;; SKIPN 1,.COMM.+=13 ;IF(R12.EQ.0)SKIP
;; JRST ALPH
;; MOVE .COMM.+6 ;SIZE=P5*RSTJ2
;; MOVEM SIZE#
ALPH: MOVEI =99
MOVEM JTR
MOVE .COMM.+6
CAMGE [100.0]
JRST .+3
MOVN [100.0]
FADRM .COMM.+6 ;IF(R5.GE.100)R5=R5-100
MOVN 1,FONT ;SHI=ITAL., SHP=PRIM, SHO=BDR
JUMPLE 1,ALX54 ;IF(JFONT.GE.0)GO TO ALX54
MOVEI 1
MOVEM FONT ;JFONT=1
MOVE FNAME-1(1) ;GET THE DESIRED FONT NAME
JRST AL54-1 ; PUT IT IN NR
ALX54: MOVE NFONT
CAME FNAME
CAMN FNAME+2
JRST AL54
MOVE FNAME+1 ;DEFAULT FONT IS BDR40
MOVEM NFONT
AL54: MOVE [19.7]
FMPR .COMM.+6
FMPR STF+=8
MOVEM R ;OR JUST LEAVE IN AC0
FLTR 1,.COMM.+=24 ;MOVE 1,.COMM.+=24 ;J3
MOVEM 1,RB ; OR LEAVE IN AC1
MOVE 2,.COMM.+5
MOVEM 2,RW ; OR LEAVE IN AC2
SETZM .COMM.+=30 ;J9=0
MOVEI 15,4
AL50X: SETOM NXZ# ; THE BIG LOOP
MOVEM 15,K#
MOVE 3,.COMM.+3(15) ;RZ IS AC3
FADR 3,[0.2]
KIFIX 0,3 ;JSA 16,IFIX
; JUMP 3
MOVEM JY#
MOVE 4,[=1000000] ; 4 IS JX
MOVEM 4,JX
MOVEI 14,1 ; LA
AL53X: MOVEM 14,LA#
MOVE JY
IDIV JX
MOVEM J5X#
FLTR 2,.COMM.+=24 ;MOVE 2,.COMM.+=24 ;R3=J3
; TLC 2,232000
; FADR 2,2
MOVEM 2,.COMM.+4
CAIN =99
JRST AL55
AL73: SKIPL KFNT#
JRST .+3
MOVEI 2,1
MOVEM 2,IFNT
CAIGE =70
JRST AL72
SETOM KFNT
SETOM IFNT
SUBI =60
MOVEM .COMM.+=26 ; J5
AL72: CAIGE =48
JRST AL1
CAIN =48 ; 48=BDL LIGHT-FACE FONT
JRST BDL
CAIG =49
JRST AL72X
CAIN =50
JRST AL2
CAIN =51
JRST AL3
CAIN =52
JRST AL9
CAIN =53
JRST AL4
CAIN =54
JRST AL5
AL72X: CAILE =55
JRST AL10
MOVEI =36 ;J5=36 LINE 6200 IN ALPHA.F4 11/3/76
MOVE 2,[2.9]
FMPR 2,.COMM.+6 ;R4=R4+2.9*R5
FADRM 2,.COMM.+5 ; R4
JRST AL1
AL3: MOVE 2,FNAME+2 ; CODE 51
SKIPA
AL2: MOVE 2,FNAME+1 ; CODE 50
SKIPGE FONT
AL9: MOVE 2,FNAME ; CODE 52
MOVEM 2,NFONT
JRST AL11
BDL: MOVE 2,FNAME+3 ;CODE 53 BDR LIGHT-FACE
JRST AL2+1
AL4: MOVNI 2,2 ;FILL=-2 FOR NO FILLER WHEN PRINTING ********
MOVEM 2,FILL ;FILL WAS EQUIV. TO RJQ(19)
JRST AL11
AL5: SETZM FILL ;****** DANGER ****************
JRST AL11 ;MUST BE RESET IF 'NOFILL' WAS USED ***********
AL10: ADDI 6
MOVE 2,NFONT
MOVEM 2,NRX#
SETZM NXZ#
MOVE 2,FNAME+1
MOVEM 2,NFONT
MOVE 2,FONT
MOVEM 2,NJF#
SETOM FONT ; JFONT
AL1: MOVEM .COMM.+=26 ;PUT AWAY J5
CAIL =70 ;IF(J5.LT.70.OR.J5.GT.74)GO TO AL71 70=64=ACCENT #1
CAIL =76
JRST AL12
CAIE =75 ;IS IT 1/8 NOTE (69+6=75)
JRST .+4 ;NO
MOVEI =70 ;YES
MOVEM .COMM.+=26 ;J5=70 (IT'S IN BDR47, LOC.0)
JRST AL12
MOVE 2,FNAME+2 ;FOR ACCENTS OVER CHARS.
MOVEM 2,NFONT ;GET BDI40
SUBI 0,6 ;SET BACK THE CHAR. NUMBERS TO 64-68
JRST AL71-1 ;GO PUT AC0 BACK INTO J5
AL12: MOVEM 0,OLDJ5#
CAIGE =64 ;IF 64 OR 65 TAKE AWAY 6 1/4 1/2
JRST AL12X
MOVE 1,0
CAIG =65
SUBI 1,6
CAIN =70 ;IF 70 TAKE AWAY 1 1/8
SOJ 1,
MOVEM 1,.COMM.+=26 ;PUT REVISED NUM INTO J5
AL12X: JSA 16,SPACER
JUMP .COMM.+=26 ;J5
JUMP IFNT
JUMP RB
JUMP R
MOVE OLDJ5
MOVEM .COMM.+=26 ;GET BACK ORIGINAL FORM OF J5
CAILE =60
JRST AL71
CAIN =47
JRST AL6
CAIL =47
JRST AL11
SKIPN .COMM.+=13 ;IF(P11.NE.0.AND.P12.EQ.0)GO TO AL79 ROTATE
SKIPN 2,.COMM.+=12 ; LABEL 7 IN ALPHA.F4
SKIPA
JRST AL79
SKIPG FONT ;NO ROTATION P11=0 OR P12.NE.0 (=DASH)
JRST AL78
JRST AL77
AL79: MOVEM 2,.COMM.+=10 ; R9=R11 (DEGREES OF ROTATION
SETOM .COMM.+=30 ;J9=-1 FOR ROTATION IN 'CLEFS'
JRST AL77
AL277: MOVE 2,FNAME ;IF(NFONT.NE.'PRIM0')GO TO 70
CAME 2,NFONT
JRST AL70
SKIPGE IFNT
CAIGE =10
JRST AL30
JRST AL71
AL177: ADDI =22 ;J5=J5+22 (=62 )=63 IN BDI (BDI46)
MOVEM .COMM.+=26
MOVE NFONT ;SAVE OLD FILE NAME
MOVEM NRX
MOVE FNAME+2 ;BDI40
MOVEM NFONT
MOVE FONT
MOVEM NJF ;SAVE FONT FLAG
SETZM NXZ ;FLAG TO GET BACK RIGHT FLAGS BEFORE AL30
JRST AL71
AL70: CAILE =9
SKIPL IFNT ;IFNT IS .COMM.+=36
JRST AL71
ADDI =26
MOVEM .COMM.+=26 ; J5
AL71: MOVE 2,.COMM.+7
MOVEM 2,RX
MOVE 2,[0.28]
FMPR 2,.COMM.+6
MOVEM 2,.COMM.+7
MOVE 3,.COMM.+=8
MOVEM 3,RY
MOVEM 2,.COMM.+=8
MOVE 2,R8
MOVEM 2,RZ ; LINE 11400 IN ALPHA.F4
MOVE 2,[-2.1]
FADRM 2,.COMM.+5
MOVE 2,FILL
MOVEM 2,J8
MOVE 2,NFONT
MOVEM 2,.COMM.+=11 ; NRJ IS EQUIV TO R10
MOVEI 2,=12
MOVEM 2,.COMM.+1
SETZM R8 ;TO AVOID CLEFS THICKENER
JSA 16,CLEFS
MOVE 2,RX
MOVEM 2,.COMM.+7
MOVE 2,RY
MOVEM 2,.COMM.+=8
MOVE 2,RZ
MOVEM 2,R8
SKIPGE NXZ
JRST AL6
MOVE 2,NRX
MOVEM 2,NFONT
MOVE 2,NJF
MOVEM 2,FONT
JRST AL6
AL78: SKIPL PLTR ;IF(PLTR.GE.0)GO TO 30
JRST AL30
AL77: CAIGE =36 ;IF(J5.LT.36)GO TO 277
JRST AL277
CAIE =40 ; A LEFT PARENTH?
CAIN =41 ; A RIGHT "
JRST AL177
CAIE =43 ;IF(J5.NE.43)GO TO AL30 CATCH ASTERISK
JRST AL30
MOVE 2,NFONT
CAMN 2,FNAME ; IF(NFONT.EQ.'PRIM0')GO TO AL30
JRST AL30
CAMN 2,FNAME+2 ;IF(NFONT.EQ.'BDI40')GO TO AX77
JRST AX77
MOVEM 2,NRX ;NRX=NFONT STORE IT FOR LATER USE
SETZM NXZ ;SET RETRIEVAL FLAG
MOVEM NJF ;MAKE NJF ANY POS. NUM.
MOVE 2,FNAME+2 ;NFONT='BDI40'
MOVEM 2,NFONT
AX77: MOVEI =69 ;J5=69
MOVEM .COMM.+=26
JRST AL71 ;GO TO AL71
AL30: SETZM .COMM.+=28 ;J7=0
MOVE 2,.COMM.+6
MOVEM 2,.COMM.+7
JSA 16,PNUM
AL6: JSA 16,ROFF
JUMP RB
KIFIX 0,0 ;MOVE 2,
; JSA 16,IFIX
; JUMP 2
MOVEM .COMM.+=24 ;J3=ROFF(RB)
MOVE 2,RW
MOVEM 2,.COMM.+5
AL11: MOVN 2,J5X
IMUL 2,JX
ADDM 2,JY
AL53: MOVE 2,JX
IDIVI 2,=100
MOVEM 2,JX
MOVE 14,LA
CAIGE 14,4
AOJA 14,AL53X
AL50: MOVE 15,K
CAIGE 15,6
AOJA 15,AL50X
AL55: MOVE 2,JTR
CAIE 2,=99
JRST AL52
MOVE NFONT
MOVEM SAVFNT
JRST AL100
AL20: MOVE .COMM.+7 ; FOR TRILLS, ETC. R6
MOVEM RF
MOVE NFONT
MOVEM SAVFNT# ;SAVE THE FONT NAME, RETURN IT AT END.
MOVE .COMM.+=28 ; J7 IS IN AC0 SAVE J7 IN TRILL
MOVEM TRILL#
CAIG 1
JRST AL200
CAIL =8
JRST AL201
MOVE 2,R8 ;NOE PED. MARKS J7 >1, <8
MOVEM 2,RW
MOVE 2,.COMM.+4
MOVEM 2,RB
MOVEM NFONT ; NFONT=J7
MOVE 2,.COMM.+=26 ;J5
MOVEM 2,JY
MOVE 2,.COMM.+=10 ;R9
JUMPN 2,.+3
MOVSI 2,201400 ;[1.0]
MOVEM 2,.COMM.+=10
MOVEM 2,RY
FMPR 2,STF+=8
FMPR 2,[23.84]
MOVEM 2,RX
MOVE 2,[0.45]
FMPR 2,RY
MOVEM 2,.COMM.+7
SETZM .COMM.+=30 ; J9=0 LINE 16500
MOVEI 2,=18
MOVEM 2,.COMM.+=26
MOVEI 2,3
MOVEM 2,.COMM.+1 ;JA=3
SETZM .COMM.+6
SETZM .COMM.+=8
MOVSI 2,574200 ;[-6.0]
FADRM 2,.COMM.+5 ;R4=R4-6 PUTS PED MARK BELOW STF.
SETZM R8 ;R8=0 NEEDED IN CLEFS.
JSA 16,CLEFS
SKIPN 1,JY
JRST AL222
MOVSI 2,576400 ;[-1.0]
MOVEM 2,R8 ; R8=-1
MOVEI 2,=19
MOVEM 2,.COMM.+=26 ; J5=19
CAIGE 1,=100
JRST AL203
SUBI 1,=100
MOVEM 1,JY
JSA 16,CLEFS
AL203: MOVE 2,RB
FADR 2,RX
MOVEM 2,.COMM.+4
MOVE JY
CAIGE =10
JRST AL204
SUBI =10
MOVEM JY
JSA 16,CLEFS
AL204: MOVE 2,RB
FADR 2,RX
FADR 2,RX ; R3=RB+RX+RX
MOVEM 2,.COMM.+4
SKIPE JY
JSA 16,CLEFS
AL222: MOVE NFONT ;NFONT SAVED J7
CAIN 2
JRST TRLEND
SKIPN 2,RW ;RW SAVED R8
JRST ALX
FMPR 2,[5.96]
FSBR 2,RB
MOVNM 2,.COMM.+4
ALX: MOVE 2,POSI+=9 ;RX=POS
MOVEM 2,RX
MOVE 2,RF
MOVEM 2,.COMM.+=7
MOVSI 2,202600 ;[3.0]
FADRB 2,.COMM.+5
MOVEM 2,.COMM.+6 ;R5=R4
SETZM .COMM.+=28
SETZM .COMM.+=8
SETZM R8
SETZM .COMM.+=11 ; R10=0
AL206: JSA 16,ITMSUB
MOVE NFONT
CAIN 4 ;J7=4=NO BRACK.
JRST TRLEND
;; CAIE 5 ;IF(J7.EQ.5.OR.J7.EQ.7)GO TO AX206
;; CAIN 7 6 AND 7 NOT ACTIVATED**** ;=5= → =7= ↔ =6= ←¬
CAIN 5 ;IF(J7.EQ.5)GO TO AX206 MAKE AN ARROW →
JRST AX206
MOVSI 204500 ;10.0
FMPR RY ;*RSTJ2*R9
FMPR STF+=8 ;THIS WILL BE VERTICAL PART OF BRACK. END.
FADRM OLDTOP ;* THE Y COORD. FROM LAST 'LINES' CALL
JSA 16,LINES
JUMP ALF+=10 ;THE LAST X COORD. TO 'LINES'
JUMP OLDTOP ; Y
JUMP [2] ; IF CHANGES ARE MADE IN ITMSUB THIS IS WRECKED!!
;;; ;R3=ROFF(RHORZ(RF))
JRST TRLEND
AX206: MOVSI 2,202440 ;2.25 LENGTH OF ARROW (CRESC.) =2*STFSIZ*R9
FMPR 2,RY ;*R9
FMPR 2,STF+8
MOVE 3,[2.12]
FADRM 3,.COMM.+5 ;R4=R4+2.12 (R4 WAS EARLIER R4-3)
MOVEI 3,4 ;JA=4
MOVEM 3,.COMM.+1
MOVEI 3,=50 ;J5=50 (FOR CRESC.)
MOVEM 3,.COMM.+=26
MOVE 3,[1.29] ;1.29*R9 WIDTH OF OPENING
FMPR 3,RY ; (*R9)
;; CAIN 6 ;IF → CHANGE TO NEG. -- FOR R7
;; JRST AY206 ;NEXT FOR →
MOVE 5,RF ;GET SAVED R6
MOVEM 5,.COMM.+7
FSBR 5,2 ;SUBTRACT SIZE OF ARROW
FMPR 5,[5.96] ;*5.96-596.0
FSBR 5,[596.0]
;; JRST AZ206
;;AY206: MOVNS 3 ;THIS FOR ←
;; FADR 2,RW ;GET R6
;; MOVEM 2,.COMM.+7
;; MOVN 5,RW ;GET R8
;; FMPR 5,[5.96]
;; FMPR 5,STF+8 ;*RSTJ2*5.96
;; FADR 5,RB ;R3=R3-R8*↑
AZ206: MOVNM 3,.COMM.+8 ;R7
MOVEM 5,.COMM.+4 ;R3
JSA 16,ITMSUB ;GO DRAW CRESC.
;; MOVE NFONT ;GET BACK J7
;; CAIE 7 ;IF(J7.NE.7)GO TO TRLEND
JRST TRLEND
;; MOVEI 6
;; MOVEM NFONT
;; JRST AX206 ;NOW DO 2ND ARROW, I.E. ←
AL202: MOVE 7,[47717088.0] ; FOR 8VA BASSA
MOVE 2,[88709999.0]
MOVEM 2,R8
MOVSI 10,210424 ;[138.0]
JRST AL214-1
AL201: SKIPN 2,.COMM.+6 ;CALL NOZERO(R5)
MOVSI 2,201400 ;[1.0]
MOVEM 2,.COMM.+6
MOVE .COMM.+=28
CAIN =15
JRST AL205
MOVSI 10,206570 ;[47.0]
MOVE 7,[99999999.0]
MOVE 6,[51089170.0]
AL214: MOVEM 10,RR10#
MOVE 2,.COMM.+6
FMPR 2,STF+=8 ;RR5 IS AC2
FMPR 10,2 ;AC10 WILL BE RR3
FADR 10,.COMM.+4
MOVEM 10,RR3#
SETOM JTR
MOVE 2,.COMM.+=28
MOVEM 2,.COMM.+=25 ;J4=J7
MOVE 2,J8
MOVEM 2,.COMM.+=31 ;J10=J8
JRST AL212
AL205: MOVE 6,[51010582.0]
MOVE 7,[70999999.0]
MOVSI 10,206700 ;[56.0]
JRST AL214
AL213: MOVE 2,[1.8]
FMPR 2,.COMM.+6 ; WAS → FMPR 2,RR5
MOVEM 2,R8
SETZM .COMM.+=10
MOVE 2,RR3
MOVEM 2,.COMM.+4
MOVE 2,RF
MOVEM 2,.COMM.+7
MOVE 2,[0.7]
FMPR 2,STF+=8
FADRB 2,.COMM.+5
MOVEM 2,.COMM.+6
SETOM .COMM.+=32 ;J11=-1
SKIPGE .COMM.+=25
MOVNS .COMM.+=32 ;IF(J4)J11=-J11
SKIPE .COMM.+=31 ;IF(J10.NE.)J11=0
SETZM .COMM.+=32
MOVEI 2,1
MOVEM 2,.COMM.+=28
SETZM .COMM.+=31 ;J10=0
JSA 16,ITMSUB
JRST TRLEND
AL200: MOVE 2,.COMM.+6
JUMPN 2,.+3
MOVSI 2,201400 ;[1.0]
MOVEM 2,.COMM.+6
MOVN 4,.COMM.+=28 ;IF(J7.EQ.-8)GO TO 202
CAIN 4,=8
JRST AL202 ;← TO OTTAVA BASSA
MOVEM 2,RR10
MOVSI 2,203600 ;[6.0]
FMPR 2,STF+=8
KIFIX 0,2 ;IFIX
ADDB .COMM.+=24 ;J3=J3+6*RSTJ2
MOVEM JR3
MOVE 6,[51898799.0] ; MAKE UP "TR"
;; MOVE 7,[99999999.0]
SETZ 7, ;MAKE R7=0
MOVNM 4,JTR ; -J7 WAS IN AC4
AL212: MOVEM 6,.COMM.+=7 ; JTR IS TRILL FLAG IN LETTERS SECTION.
MOVEM 7,.COMM.+=8
MOVE 2,[0.8]
FMPRM 2,.COMM.+6
JRST AL54
AL52: KIFIX .COMM.+=9
MOVEM .COMM.+=26 ;J5=R8 (FOR ACCI OVER TR)
MOVE POSI+11 ;SAVE 'POS' IN K FOR ACCI ROUTINE
MOVEM K
SKIPE JTR ;J7=1=NO WIGGLE, 0=YES
JRST ACCI
FLTR 3,JR3 ;FLOAT JR3
MOVSI 2,205500 ;[20.0]
FMPR 2,STF+=8
FMPR 2,RR10
FADR 2,3
MOVEM 2,.COMM.+4
MOVEI 4
MOVEM .COMM.+1
MOVEI 2
MOVNM .COMM.+=28
MOVE RF
MOVEM .COMM.+7
MOVE [0.7]
FMPR RR10
MOVEM .COMM.+=10
MOVE [0.9]
FMPR RR10
MOVEM R8
SETZM .COMM.+=31
SKIPGE PLTR
AOS .COMM.+=31
JSA 16,ITMSUB
ACCI: SKIPGE 2,TRILL ;NEXT PUTS ACCI OVER TR IF 1, 2 OR 3 IN P8
JRST AL100 ;IF J7 (TRILL)=0 OR 1 IT'S A TRILL
CAIG 2,1 ;ELSE GO TO TRLEND (NO ACCI POSSIBLE)
SKIPN .COMM.+=9 ;IF(R8.EQ.0)GO TO TRLEND (R8 HAS ACCI. NUM.)
JRST AL100 ; NO ACCI. - JUMP
MOVE K ;GET BACK 'POS' (IT GOT CHANGED IN WIGGLE)
MOVEM POSI+11 ; POS
MOVSI 205660 ;[27.0] CENTR=CENTR+27*RSTJ2
FMPR STF+10 ; *RSTJ2
FADRM .COMM.+2 ; CENTR
MOVE [0.9] ;R6=R5*.9
FMPR .COMM.+6
MOVEM .COMM.+7
FLTR 2,.COMM.+30 ;R3=J3-12*RSTJ2
MOVSI 573100 ;[-14.0]
FMPR STF+10
FADR 2
MOVEM .COMM.+4
MOVSI 202740 ;R4=R4+3.75
FADRM .COMM.+5 ; R4 IS FOR NON-FONT DISPLAY ONLY
SETZM .COMM.+8 ;R7=0
SETZM .COMM.+9 ;R8=0
SETZM .COMM.+12 ;R9=0
MOVEI 9 ;JA=9
MOVEM .COMM.+1
JSA 16,NOTWRT ;GO MAKE THE ACCI.
AL100: SKIPGE JTR
JRST AL213
SKIPL KFNT
JRST .+3
MOVEI 1
MOVEM IFNT
SETZM KFNT
TRLEND: MOVE SAVFNT ;GET BACK ORIGINAL FONT NAME
MOVEM NFONT
;; SKIPN 1,.COMM.+=13 ;IF(R12.EQ.0)RETURN
JRA 16,(16) ;END
;; MOVEI 4 ;NEXT FOR DASH AFTER SYLLABLE
;; MOVEM .COMM.+1 ;JA=4
;; MOVE .COMM.+=13 ;GET ENDPOINT OF DASH P12=LENGTH OF DASH
;; FADR .COMM.+=12 ; END OF DASH = P11+P12
;; MOVEM .COMM.+7 ;R6=DSHEND
;; JSA 16,RHORZ ;R3=RHORZ(R11) LEFT SIDE OF DASH
;; JUMP .COMM.+=12
;; MOVEM .COMM.+4
;; MOVN [0.5] ;SET HEIGHT OF DASH
;; FMPR SIZE ;*SIZE FACTOR (P5*RSTJ2)
;; FADR [1.0]
;; FADRB .COMM.+5 ;R4=R4+.5*RSTJ2*P5
;; MOVEM .COMM.+6 ;R5=R4
;; SETZM .COMM.+=26 ;J5=0
;; SETZM .COMM.+8 ;R7=0
;; SETZM .COMM.+=28 ;J7=0
;; SETZM .COMM.+=9 ;R8=0
;; SETZM .COMM.+=10 ;R9=0
;; MOVE SIZE
;; FADR [0.5] ;***MOVE, L, R, COMMANDS DON'T CHANGE P11,P12 YET!!
;; KIFIX
;; MOVEM .COMM.+=31 ;J10=SIZE+.5
;; JSA 16,ITMSUB ;GO MAKE DASH
;; JRA 16,(16)
BLANK: 0.70 ;NEW SIZE FOR BLANKS 1/80 (OLD SIZE WAS 1.0)
SPACER: 0 ;CALL SPACERR(J5,IFNT,RB,R)
MOVE @(16) ; J5 FOR NOW
CAILE =47
JRST SP10
CAIG =9
JRST SP117
CAIGE =36
JRST SP10
SP117: MOVSI 3,201400 ;[1.0] AC3 IS RSX
;************************ NEW BLANK SIZE *******************
CAIN =47 ;IS IT A BLANK?
MOVE 3,BLANK ;IT IS! NEW SIZE=.70, OLD SIZE=1.0 CHANGE IN DDT IF NEEDED.
SKIPGE @1(16) ;IFNT FOR NOW
MOVE 3,[0.9]
CAIE =39 ;;IS IT '='?
JRST SP3
MOVE 3,[1.2096] ;YES GIVIT MORE SPACE
JRST SP21
SP14: SETZM @1(16)
MOVEI 2,=10
MOVEM 2,.COMM.+1 ;JA=10
JRA 16,4(16)
SP10: CAIGE =47
JRST SP5
CAIN =52
JRST SP14
CAIGE =55
JRA 16,4(16)
SP5: MOVE 3,[1.08]
SKIPGE @1(16)
MOVE 3,[0.96]
CAIE =69 ;IS IT 1/8 NOTE?
CAIN =22 ;IS IT M?
JRST SP277
CAIE =58 ;IS IT 1/4 NOTE?
CAIN =59 ;IS IT 1/2?
JRST SP277
CAIE =32 ;IS IT W?
JRST SP3
SP277: FMPR 3,[1.12] ;3 IS RSX
SP3: CAIGE =36
CAIN 1
JRST SP21
CAIE =18
CAIN =19
JRST SP21
SKIPL @1(16)
JRST SP4
CAIE =15 ; NEXT FOR LOWER CASE SPACING
CAIN =21
JRST SP21
CAIE =29
JRST SP4
SP21: CAIE =47
FMPR 3,[0.68] ;SPACER FOR A BLANK
SP4: FMPR 3,@3(16) ;RB=RB+R*RSX
FADRM 3,@2(16)
JRA 16,4(16)
END